package humanize.time.joda; import java.util.Locale; import org.joda.time.DateTime; import org.joda.time.Period; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import org.joda.time.format.ISODateTimeFormat; import org.joda.time.format.ISOPeriodFormat; import org.joda.time.format.PeriodFormat; import org.joda.time.format.PeriodFormatter; import org.testng.Assert; import org.testng.annotations.Test; public class TestJodaTime { @Test public void dateFormat() { DateTime zero = new DateTime(0).millisOfDay().setCopy(0).secondOfDay().setCopy(0); DateTimeFormatter fmt = ISODateTimeFormat.dateTime(); // Assert.assertEquals(zero.toString(fmt), // "1970-01-01T00:00:00.000+01:00"); fmt = ISODateTimeFormat.basicDate(); Assert.assertEquals(zero.toString(fmt), "19700101"); fmt = ISODateTimeFormat.basicOrdinalDate(); Assert.assertEquals(zero.toString(fmt), "1970001"); fmt = DateTimeFormat.fullDate().withLocale(Locale.ENGLISH); Assert.assertEquals(zero.toString(fmt), "Thursday, January 1, 1970"); } @Test public void periodFormat() { PeriodFormatter fmt = PeriodFormat.getDefault(); Assert.assertEquals(new Period(0, 100000000).toString(fmt), "1 day, 3 hours, 46 minutes and 40 seconds"); fmt = PeriodFormat.wordBased(new Locale("es")); Assert.assertEquals(new Period(0, 100000000).toString(fmt), "1 día, 3 horas, 46 minutos y 40 segundos"); fmt = ISOPeriodFormat.standard(); Assert.assertEquals(new Period(0, 100000000).toString(fmt), "P1DT3H46M40S"); fmt = ISOPeriodFormat.alternate(); Assert.assertEquals(new Period(0, 100000000).toString(fmt), "P00000001T034640"); fmt = ISOPeriodFormat.alternateWithWeeks(); Assert.assertEquals(new Period(0, 100000000).toString(fmt), "P0000W0001T034640"); } }